package com.hsgene.consumables.domain;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hsgene.common.util.date.TimeJsonDeserializer;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 耗材申请表
 *
 * @author wxf
 * @date 2018/8/14 17:06
 **/
public class ConsumablesApplyInfo implements Serializable {
    /**
     * id
     */
    private String id;

    /**
     * 申请编号
     */
    private String applyNo;

    /**
     * 地服Id
     */
    private String userId;

    /**
     * 地服名称
     */
    private String userName;

    /**
     * 状态（1：待审批 2：待修改 3：待发放 4：待寄送 5：待签收 6：已完成）
     */
    private int status;

    /**
     * 状态描述
     */
    private String statusDesc;
    /**
     * 省
     */
    private String province;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 更新时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date updateDate;

    /**
     * 创建时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date createDate;

    /**
     * 删除标记(0正常1删除)
     */
    private String delFlag;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 关联地服地址
     */
    private String address;

    /**
     * 申请电话
     */
    private String phone;
    /**
     * 申请商品明细
     */
    private List<ConsumablesApplyDetailInfo> detailInfos;

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }

    /**
     * id
     *
     * @return id id
     */
    public String getId() {
        return id;
    }

    /**
     * id
     *
     * @param id id
     */
    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * 申请编号
     *
     * @return apply_no 申请编号
     */
    public String getApplyNo() {
        return applyNo;
    }

    /**
     * 申请编号
     *
     * @param applyNo 申请编号
     */
    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo == null ? null : applyNo.trim();
    }

    /**
     * 地服Id
     *
     * @return user_id 地服Id
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 地服Id
     *
     * @param userId 地服Id
     */
    public void setUserId(String userId) {
        this.userId = userId == null ? null : userId.trim();
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 状态（1：待审批 2：待修改 3：待发放 4：待寄送 5：待签收 6：已完成）
     *
     * @return status 状态（1：待审批 2：待修改 3：待发放 4：待寄送 5：待签收 6：已完成）
     */
    public int getStatus() {
        return status;
    }

    /**
     * 状态（1：待审批 2：待修改 3：待发放 4：待寄送 5：待签收 6：已完成）
     *
     * @param status 状态（1：待审批 2：待修改 3：待发放 4：待寄送 5：待签收 6：已完成）
     */
    public void setStatus(int status) {
        this.status = status;
    }

    /**
     * 省
     *
     * @return province 省
     */
    public String getProvince() {
        return province;
    }

    /**
     * 省
     *
     * @param province 省
     */
    public void setProvince(String province) {
        this.province = province == null ? null : province.trim();
    }

    /**
     * 创建者
     *
     * @return create_by 创建者
     */
    public String getCreateBy() {
        return createBy;
    }

    /**
     * 创建者
     *
     * @param createBy 创建者
     */
    public void setCreateBy(String createBy) {
        this.createBy = createBy == null ? null : createBy.trim();
    }

    /**
     * 更新时间
     *
     * @return update_date 更新时间
     */
    public Date getUpdateDate() {
        return updateDate;
    }

    /**
     * 更新时间
     *
     * @param updateDate 更新时间
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    /**
     * 创建时间
     *
     * @return create_date 创建时间
     */
    public Date getCreateDate() {
        return createDate;
    }

    /**
     * 创建时间
     *
     * @param createDate 创建时间
     */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /**
     * 删除标记(0正常1删除)
     *
     * @return del_flag 删除标记(0正常1删除)
     */
    public String getDelFlag() {
        return delFlag;
    }

    /**
     * 删除标记(0正常1删除)
     *
     * @param delFlag 删除标记(0正常1删除)
     */
    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag == null ? null : delFlag.trim();
    }

    /**
     * 备注
     *
     * @return remarks 备注
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 备注
     *
     * @param remarks 备注
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks == null ? null : remarks.trim();
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public List<ConsumablesApplyDetailInfo> getDetailInfos() {
        return detailInfos;
    }

    public void setDetailInfos(List<ConsumablesApplyDetailInfo> detailInfos) {
        this.detailInfos = detailInfos;
    }
}